home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- NNNNAAAAMMMMEEEE
- _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n_G_a_d_g_e_t - The CascadeButtonGadget widget class
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- #include <Xm/CascadeBG.h>
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- CascadeButtonGadget links two MenuPanes, a MenuBar to a
- MenuPane, or an OptionMenu to a MenuPane.
-
- It is used in menu systems and must have a RowColumn parent
- with its _X_m_N_r_o_w_C_o_l_u_m_n_T_y_p_e resource set to _X_m_M_E_N_U__B_A_R,
- _X_m_M_E_N_U__P_O_P_U_P, _X_m_M_E_N_U__P_U_L_L_D_O_W_N, or _X_m_M_E_N_U__O_P_T_I_O_N.
-
- It is the only gadget that can have a Pulldown MenuPane
- attached to it as a submenu. The submenu is displayed when
- this gadget is activated within a PopupMenu, a PulldownMenu,
- or an OptionMenu. Its visuals can include a label or pixmap
- and a cascading indicator when it is in a Popup or Pulldown
- MenuPane; or it can include only a label or a pixmap when it
- is in an OptionMenu.
-
- The default behavior associated with a CascadeButtonGadget
- depends on the type of menu system in which it resides. By
- default, _B_S_e_l_e_c_t controls the behavior of the
- CascadeButtonGadget. In addition, _B_M_e_n_u controls the
- behavior of the CascadeButtonGadget if it resides in a Menu
- system. The actual mouse button used is determined by its
- RowColumn parent.
-
- A CascadeButtonGadget's visuals differ from most other
- button gadgets. When the button becomes armed, its visuals
- change from a 2-D to a 3-D look, and it displays the submenu
- that has been attached to it. If no submenu is attached, it
- simply changes its visuals.
-
- When a CascadeButtonGadget within a Pulldown or Popup
- MenuPane is armed as the result of the user moving the mouse
- pointer into the gadget, it does not immediately display its
- submenu. Instead, it waits a short time to see if the
- arming was temporary (that is, the user was simply passing
- through the gadget), or the user really wanted the submenu
- posted. This delay is configurable via _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y.
-
- CascadeButtonGadget provides a single mechanism for
- activating the gadget from the keyboard. This mechanism is
- referred to as a keyboard mnemonic. If a mnemonic has been
- specified for the gadget, the user may activate it by simply
- typing the mnemonic while the CascadeButtonGadget is
- visible. If the CascadeButtonGadget is in a MenuBar and the
- MenuBar does not have the focus, the _M_A_l_t modifier must be
- pressed with the mnemonic. Mnemonics are typically used to
-
-
-
- Page 1 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- interact with a menu via the keyboard.
-
- If a CascadeButtonGadget is in a Pulldown or Popup MenuPane
- and there is a submenu attached, the _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m,
- _X_m_N_m_a_r_g_i_n_L_e_f_t, _X_m_N_m_a_r_g_i_n_R_i_g_h_t, and _X_m_N_m_a_r_g_i_n_T_o_p resources
- may enlarge to accommodate _X_m_N_c_a_s_c_a_d_e_P_i_x_m_a_p. _X_m_N_m_a_r_g_i_n_W_i_d_t_h
- defaults to 6 if this resource is in a MenuBar; otherwise,
- it takes LabelGadget's default, which is 2.
-
- CCCCllllaaaasssssssseeeessss
- CascadeButtonGadget inherits behavior and resources from
- _O_b_j_e_c_t, _R_e_c_t_O_b_j, _X_m_G_a_d_g_e_t, and _X_m_L_a_b_e_l_G_a_d_g_e_t classes.
-
- The class pointer is _x_m_C_a_s_c_a_d_e_B_u_t_t_o_n_G_a_d_g_e_t_C_l_a_s_s.
-
- The class name is _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n_G_a_d_g_e_t.
-
- NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
- The following table defines a set of widget resources used
- by the programmer to specify data. The programmer can also
- set the resource values for the inherited classes to set
- attributes for this widget. To reference a resource by name
- or by class in a .Xdefaults file, remove the _X_m_N or _X_m_C
- prefix and use the remaining letters. To specify one of the
- defined values for a resource in a .Xdefaults file, remove
- the _X_m prefix and use the remaining letters (in either
- lowercase or uppercase, but include any underscores between
- words). The codes in the access column indicate if the
- given resource can be set at creation time (C), set by using
- _X_t_S_e_t_V_a_l_u_e_s (S), retrieved by using _X_t_G_e_t_V_a_l_u_e_s (G), or is
- not applicable (N/A).
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt
- NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss
- __________________________________________________________________________
- XmNactivateCallback XmCCallback XtCallbackList NULL C
- XmNcascadePixmap XmCPixmap Pixmap dynamic CSG
- XmNcascadingCallback XmCCallback XtCallbackList NULL C
- XmNmappingDelay XmCMappingDelay int 180 ms CSG
- XmNsubMenuId XmCMenuWidget Widget NULL CSG
-
-
- _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k
- Specifies the list of callbacks that is called when the
- user activates the CascadeButtonGadget, and there is no
- submenu attached to pop up. The activation occurs by
- releasing a mouse button or by typing the mnemonic
- associated with the gadget. The specific mouse button
- depends on information in the RowColumn parent. The
- reason sent by the callback is _X_m_C_R__A_C_T_I_V_A_T_E.
-
- _X_m_N_c_a_s_c_a_d_e_P_i_x_m_a_p
-
-
-
- Page 2 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- Specifies the cascade pixmap displayed on one end of
- the gadget when a CascadeButtonGadget is used within a
- Popup or Pulldown MenuPane and a submenu is attached.
- The LabelGadget class resources _X_m_N_m_a_r_g_i_n_B_o_t_t_o_m,
- _X_m_N_m_a_r_g_i_n_L_e_f_t, _X_m_N_m_a_r_g_i_n_R_i_g_h_t, and _X_m_N_m_a_r_g_i_n_T_o_p may be
- modified to ensure that room is left for the cascade
- pixmap. The default cascade pixmap in menus other than
- option menus is an arrow pointing to the side of the
- menu where the submenu will appear. The default for
- the CascadeButtonGadget in an option menu is
- _X_m_U_N_S_P_E_C_I_F_I_E_D__P_I_X_M_A_P.
-
- _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k
- Specifies the list of callbacks that is called just
- prior to the mapping of the submenu associated with the
- CascadeButtonGadget. The reason sent by the callback
- is _X_m_C_R__C_A_S_C_A_D_I_N_G.
-
- _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y
- Specifies the amount of time, in milliseconds, between
- when a CascadeButtonGadget becomes armed and when it
- maps its submenu. This delay is used only when the
- gadget is within a Popup or Pulldown MenuPane. The
- value must not be negative.
-
- _X_m_N_s_u_b_M_e_n_u_I_d
- Specifies the widget ID for the Pulldown MenuPane to be
- associated with this CascadeButtonGadget. The
- specified MenuPane is displayed when the
- CascadeButtonGadget becomes armed. The MenuPane must
- have been created with the appropriate parentage
- depending on the type of menu used. See
- _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n_M_e_n_u(_3_X), _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u(_3_X), and
- _X_m_C_r_e_a_t_e_O_p_t_i_o_n_M_e_n_u(_3_X) for more information on the menu
- systems.
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
- CascadeButtonGadget inherits behavior and resources from the
- following superclasses. For a complete description of each
- resource, refer to the man page for that superclass.
-
- XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
- NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss
- _________________________________________________________________________________________________________
- XmNaccelerator XmCAccelerator String NULL N/A
- XmNacceleratorText XmCAcceleratorText XmString NULL N/A
- XmNalignment XmCAlignment unsigned char dynamic CSG
- XmNfontList XmCFontList XmFontList dynamic CSG
- XmNlabelInsensitivePixmap XmCLabelInsensitivePixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
- XmNlabelPixmap XmCLabelPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
-
-
-
-
-
- Page 3 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- XmNlabelString XmCXmString XmString dynamic CSG
- XmNlabelType XmCLabelType unsigned char XmSTRING CSG
- XmNmarginBottom XmCMarginBottom Dimension dynamic CSG
- XmNmarginHeight XmCMarginHeight Dimension 2 CSG
- XmNmarginLeft XmCMarginLeft Dimension 0 CSG
- XmNmarginRight XmCMarginRight Dimension dynamic CSG
- XmNmarginTop XmCMarginTop Dimension dynamic CSG
- XmNmarginWidth XmCMarginWidth Dimension dynamic CSG
- XmNmnemonic XmCMnemonic KeySym NULL CSG
- XmNmnemonicCharSet XmCMnemonicCharSet String dynamic CSG
- XmNrecomputeSize XmCRecomputeSize Boolean True CSG
- XmNstringDirection XmCStringDirection XmStringDirection dynamic CSG
-
-
- XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
- NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss
- ___________________________________________________________________________________
- XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic G
- XmNhelpCallback XmCCallback XtCallbackList NULL C
- XmNhighlightColor XmCHighlightColor Pixel dynamic G
- XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
- XmNhighlightThickness XmCHighlightThickness Dimension 0 CSG
- XmNnavigationType XmCNavigationType XmNavigationType XmNONE CSG
- XmNshadowThickness XmCShadowThickness Dimension 2 CSG
- XmNtopShadowColor XmCTopShadowColor Pixel dynamic G
- XmNtraversalOn XmCTraversalOn Boolean True CSG
- XmNunitType XmCUnitType unsigned char dynamic CSG
- XmNuserData XmCUserData XtPointer NULL CSG
-
-
- RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
- NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss
- ____________________________________________________________________
- XmNancestorSensitive XmCSensitive Boolean dynamic G
- XmNborderWidth XmCBorderWidth Dimension 0 CSG
- XmNheight XmCHeight Dimension dynamic CSG
- XmNsensitive XmCSensitive Boolean True CSG
- XmNwidth XmCWidth Dimension dynamic CSG
- XmNx XmCPosition Position 0 CSG
- XmNy XmCPosition Position 0 CSG
-
-
- OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
- NNNNaaaammmmeeee CCCCllllaaaassssssss TTTTyyyyppppeeee DDDDeeeeffffaaaauuuulllltttt AAAAcccccccceeeessssssss
- ____________________________________________________________________
- XmNdestroyCallback XmCCallback XtCallbackList NULL C
-
-
- CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
- A pointer to the following structure is passed to each
- callback:
- typedef struct
-
-
-
- Page 4 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- {
- int rrrreeeeaaaassssoooonnnn;
- _X_E_v_e_n_t **** eeeevvvveeeennnntttt;
- } _X_m_A_n_y_C_a_l_l_b_a_c_k_S_t_r_u_c_t;
-
- rrrreeeeaaaassssoooonnnn
- Indicates why the callback was invoked.
-
- eeeevvvveeeennnntttt
- Points to the _X_E_v_e_n_t that triggered the callback or is
- NULL if this callback was not triggered by an _X_E_v_e_n_t.
-
- BBBBeeeehhhhaaaavvvviiiioooorrrr
- XmCascadeButtonGadget includes behavior from XmGadget.
- XmCascadeButton includes the menu traversal behavior from
- XmLabel. Additional XmCascadeButtonGadget behavior is
- described below. In a menu system, _B_M_e_n_u also performs the
- _B_S_e_l_e_c_t actions.
-
- _B_S_e_l_e_c_t _P_r_e_s_s:
- Unposts any menus posted by the parent menu. Arms the
- CascadeButtonGadget, posts the associated submenu,
- enables mouse traversal, and, in a MenuBar, arms the
- MenuBar. If the menu is already active, this event
- disables keyboard traversal for the menu and returns
- the menu to mouse traversal mode.
-
- _B_S_e_l_e_c_t _R_e_l_e_a_s_e:
- Calls the callbacks in _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k, posts the
- submenu attached to the CascadeButtonGadget and enables
- keyboard traversal within the menu. If the
- CascadeButtonGadget does not have a submenu attached,
- calls the callbacks in _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k, the
- CascadeButtonGadget is activated and all posted menus
- in the cascade are unposted.
-
- _K_A_c_t_i_v_a_t_e:
- Calls the callbacks in _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k, and posts
- the submenu attached to the CascadeButtonGadget if
- keyboard traversal is enabled in the menu. If the
- CascadeButtonGadget does not have a submenu attached,
- calls the callbacks in _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k, the
- CascadeButtonGadget is activated and all posted menus
- in the cascade are unposted. This action applies only
- to gadgets in MenuBars, PulldownMenus, and PopupMenus.
- For a CascadeButtonGadget in an OptionMenu, if the
- parent is a manager, this action passes the event to
- the parent.
-
- _K_S_e_l_e_c_t:
- Calls the callbacks in _X_m_N_c_a_s_c_a_d_i_n_g_C_a_l_l_b_a_c_k, and posts
- the submenu attached to the CascadeButtonGadget if
-
-
-
- Page 5 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- keyboard traversal is enabled in the menu. If the
- CascadeButtonGadget does not have a submenu attached,
- calls the callbacks in _X_m_N_a_c_t_i_v_a_t_e_C_a_l_l_b_a_c_k, the
- CascadeButtonGadget is activated and all posted menus
- in the cascade are unposted.
-
- _K_H_e_l_p:
- Unposts all menus in the menu hierarchy and, when the
- shell's keyboard focus policy is _X_m_E_X_P_L_I_C_T, restores
- keyboard focus to the widget that had the focus before
- the menu system was entered. Calls the callbacks for
- _X_m_N_h_e_l_p_C_a_l_l_b_a_c_k if any exist. If there are no help
- callbacks for this widget, this action calls the help
- callbacks for the nearest ancestor that has them.
-
- _M_A_n_y _K_C_a_n_c_e_l:
- In a MenuBar, disarms the CascadeButtonGadget and the
- menu and, when the shell's keyboard focus policy is
- _X_m_E_X_P_L_I_C_T, restores keyboard focus to the widget that
- had the focus before the menu was entered. For a
- CascadeButtonGadget in an OptionMenu, if the parent is
- a manager, this action passes the event to the parent.
-
- In a toplevel Pulldown MenuPane from a MenuBar, unposts the
- menu, disarms the MenuBar CascadeButton and the MenuBar,
- and, when the shell's keyboard focus policy is _X_m_E_X_P_L_I_C_T,
- restores keyboard focus to the widget that had the focus
- before the MenuBar was entered. In other Pulldown
- MenuPanes, unposts the menu.
-
- In a Popup MenuPane, unposts the menu and restores keyboard
- focus to the widget from which the menu was posted.
-
- <_E_n_t_e_r>:
- If keyboard traversal is enabled does nothing.
- Otherwise, in a MenuBar, unposts any MenuPanes
- associated with another MenuBar entry, arms the
- CascadeButtonGadget, and posts the associated submenu.
- In other menus, arms the CascadeButtonGadget and posts
- the associated submenu after the delay specified by
- _X_m_N_m_a_p_p_i_n_g_D_e_l_a_y.
-
- <_L_e_a_v_e>:
- If keyboard traversal is enabled does nothing.
- Otherwise, in a MenuBar, disarms the
- CascadeButtonGadget if the submenu associated with the
- CascadeButtonGadget is not currently posted or if there
- is no submenu associated with the CascadeButtonGadget.
-
- In other menus, if the pointer moves anywhere except into a
- submenu associated with the CascadeButtonGadget, the
- CascadeButtonGadget is disarmed and its submenu is unposted.
-
-
-
- Page 6 (printed 11/11/03)
-
-
-
-
-
-
- XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV XXXXmmmmCCCCaaaassssccccaaaaddddeeeeBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
-
-
-
- VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
- The bindings for virtual keys are vendor specific. For
- information about bindings for virtual buttons and keys, see
- _V_i_r_t_u_a_l_B_i_n_d_i_n_g_s(_3_X).
-
- RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
- _O_b_j_e_c_t(_3_X), _R_e_c_t_O_b_j(_3_X), _X_m_C_a_s_c_a_d_e_B_u_t_t_o_n_H_i_g_h_l_i_g_h_t(_3),
- _X_m_C_r_e_a_t_e_C_a_s_c_a_d_e_B_u_t_t_o_n_G_a_d_g_e_t(_3_X), _X_m_C_r_e_a_t_e_P_u_l_l_d_o_w_n_M_e_n_u(_3_X),
- _X_m_C_r_e_a_t_e_P_o_p_u_p_M_e_n_u(_3_X), _X_m_C_r_e_a_t_e_O_p_t_i_o_n_M_e_n_u(_3_X),
- _X_m_D_i_s_p_l_a_y(_3_X), _X_m_G_a_d_g_e_t(_3_X), _X_m_L_a_b_e_l_G_a_d_g_e_t(_3_X), and
- _X_m_R_o_w_C_o_l_u_m_n(_3_X).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 7 (printed 11/11/03)
-
-
-
-